package com.wanbangee.marksystem.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.wanbangee.marksystem.entities.MClass;
import com.wanbangee.marksystem.entities.MExam;
import com.wanbangee.marksystem.service.ExamListService;


@RestController
public class ExamListController {
	
	@Autowired
	private ExamListService examListService;   //注入考试列表的服务层
	
	/**
	 * 根据班级ID查询此班级的所有考试(名称和ID)
	 * @param claId
	 * @return
	 */
	@GetMapping("/examList/selectExamByClaId")
	public Map<String, Object> selectExamByClaId(@RequestParam(value="claId") Integer claId){
		//用来存储提示信息，和状态码，数据
		Map<String, Object> responseMap = new HashMap<String, Object>();
		
		//调用examListService中的selectExamByGraId方法根据学校id和年级ID查询班级信息
		List<MClass> mClasss = examListService.selectExamByClaId(claId);
		
		if(mClasss == null || mClasss.size() == 0) {
			//查询返回的班级考试为null或者没有，返回状态码10013，此班级没有考试
			responseMap.put("code", 10013);
			responseMap.put("msg", "此班级没有考试");
		}else {
			//查询得到了年级信息，将数据添加到map中，返回给客户端
			responseMap.put("mExams", mClasss);
			//返回状态码1001，提示信息：接口成功
			responseMap.put("code", 1001);
			responseMap.put("msg", "接口成功");
		}
		return responseMap;
	}
	
	/**
	 * 查询高分作文功能:根据当前登录人schId查询所有的考试，且考试包含语文及英语科目
	 * @param claId
	 * @return
	 */
	@GetMapping("/examList/selectExamBySchId")
	public Map<String, Object> selectExamBySchId(@RequestParam(value="schId") Integer schId){
		//用来存储提示信息，和状态码，数据
		Map<String, Object> responseMap = new HashMap<String, Object>();
		
		//调用examListService中的selectExamByExamId方法根据学校id和语文英语科目Id查询考试信息
		List<MExam> mExams = examListService.selectExamBySchId(schId);
		
		if(mExams == null || mExams.size() == 0) {
			//查询返回的班级考试为null或者没有，返回状态码10013，不含有作文的考试
			responseMap.put("code", 10013);
			responseMap.put("msg", "不含有作文的考试");
		}else {
			//查询得到了年级信息，将数据添加到map中，返回给客户端
			responseMap.put("mExams", mExams);
			//返回状态码1001，提示信息：接口成功
			responseMap.put("code", 1001);
			responseMap.put("msg", "接口成功");
		}
		return responseMap;
	}
	
}
